This is directed to systems and methods for navigating a scene or around an object in three dimensions using deterministic movement of an electronic device. This is also directed to systems and methods for generating a three-dimensional model of a scene or of an object for subsequent three-dimensional navigation by recording the scene using an electronic device.
Users of electronic devices can view various information displayed by the devices. For example, a user can direct an electronic device to display a representation of a three-dimensional object (e.g., a photograph), or allow a user to navigate a representation of a location or of a virtual world (e.g., navigate through a series of images representing a city, such as a series of images in a street view of a mapping application). A user can direct the device to display such information using any suitable approach, including for example by selecting the information from a locally stored or remotely accessed source using an input mechanism. Once selected, the information can be displayed.
Because a planar electronic device display can inherently be only a two-dimensional or planar display, the device can, at any given moment, provide only a partial representation of the displayed information. For example, when a three dimensional object is displayed, the electronic device can only display the object from a single perspective. To view other perspectives, the user may be required to select a different image representing the same object, or provide an input (e.g., selecting a button or dragging a mouse) to cause the object to rotate or spin, providing other perspectives for the object. Similarly, to navigate a representation of a three-dimensional environment, the electronic device can require the user to provide successive inputs using the input mechanism to move through the environment and change the displayed images to reflect the user's movement through the environment. In some cases, however, a user may not be able to provide an input to an input mechanism (e.g., the user's hands are busy). Another mechanism may then be necessary to allow a user to view other portions of a displayed three-dimensional object or three-dimensional environment.
In addition, users typically may not have an easy mechanism for generating three-dimensional representations of three-dimensional objects. Typically, such representations can require taking several images of an object from fixed and known positions and orientations relative the object, and subsequently processing the images to allow users to navigate between images to view all perspectives of the three-dimensional object or event. In particular, the user may be required to provide information related to the relative position and orientation of the lens for each image to allow for subsequent navigation of the images. This can be especially difficult without specialized equipment and prevent most users from generating three-dimensional models of objects or environments.